//匹配views内所有的.vue文件
const modules = import.meta.glob('../views/**/*.vue')

// console.log(modules);

/**
 * 
 * @param {*} componentPath 后端返还的字段（记录组件路径）
 * @returns 
 */
export function loadView(componentPath){
    let res
    for(const path in modules){
        // console.log(path);
        let dir = path.split("views/")[1].split(".vue")[0] //获取组件路径
        // console.log(dir);
        // console.log(componentPath);        
        if(dir === componentPath){
            res = modules[path]
        }               
    }
    // console.log(res);
    return res
}

export function filterRoute(data){
    let routesArr = []
    //多级路由时，父级没有页面时使用，防止路由跳级
    const recom = {template: `<RouterView v-slot="{ Component }">
                                  <KeepAlive>
                                      <component :is="Component"></component>
                                  </KeepAlive>
                              </RouterView>
                              `
                  }
    // const recom = {template: `<router-view></router-view>`}//多级路由时，父级没有页面时使用，防止路由跳级
    data.forEach((item)=>{
        if(item.nextLev){
            routesArr.push({
                path:item.PATH,
                name:item.COMPONENTNAME,
                meta:{
                    title:item.TITLE,
                    reLoadKey:0, //用于刷新页面
                    cust_type:item.CUST_TYPE
                },
                // component:item.REMARK === "目录" ? recom : loadView(item.COMPONENTPATH),
                component:item.CUST_TYPE ? recom : loadView(item.COMPONENTPATH),
                children:filterRoute(item.nextLev)
            })
        }else{
            routesArr.push({
                path:item.PATH,
                name:item.COMPONENTNAME,
                meta:{
                    title:item.TITLE,
                    reLoadKey:0, //用于刷新页面
                    cust_type:item.CUST_TYPE
                },
                // component:item.REMARK === "目录" ? recom : loadView(item.COMPONENTPATH),
                component:item.CUST_TYPE ? recom : loadView(item.COMPONENTPATH),
            })
        }
    })
    // console.log(routesArr);    
    return routesArr
}